package controllers.entorno;

import java.util.List;

public abstract class PaginaListadoSeleccion<T> extends PaginaBase {

	public static final String REGISTRO_SEL = "REGISTRO_SEL";
	protected List<T> lista;
	protected String varRegistro = "registro";
	protected String varRegistro1 = "registro1";
	protected String paginaRetorno;

	public List<T> getLista() {
		try {
			lista = obtenerLista();
		} catch (Exception e) {
			e.printStackTrace();
			mensaje("Ocurrio un error al obtener la lista de registros");
		}
		return lista;
	}

	public String getPaginaRetorno() {
		return paginaRetorno;
	}

	public String irCancelar() {
		return getPaginaRetorno();
	}

	public String irSeleccionar() {
		T registro = (T) getFacesContext().getExternalContext().getRequestMap()
				.get(varRegistro);
		getSessionScope().put(REGISTRO_SEL, registro);
		return getPaginaRetorno();
	}

	public abstract List<T> obtenerLista();

	public void setLista(List<T> lista) {
		this.lista = lista;
	}

	public void setPaginaRetorno(String paginaRetorno) {
		this.paginaRetorno = paginaRetorno;
	}
}
